/* 
 * File:   IResourceAbstractionLayer.h
 * Author: ferranferri
 *
 * Created on May 9, 2013, 12:16 PM
 */
#pragma once
#ifndef _Z3D_VFS_ISOURCEABSTRACTIONLAYER_H
#define	_Z3D_VFS_ISOURCEABSTRACTIONLAYER_H

#include <cassert>
#include "core/core_utils.h"
#include "resourceLocator.h"

namespace z3d {
    namespace utils {

        class ISourceAbstractionLayer {
//        protected:
//            ResourceLocator * _resLocator;
//        public:
//            ISourceAbstractionLayer(ResourceLocator * locator){
//                z3d::core::assert(locator != NULL);
//                _resLocator = locator;
//            }
//            virtual bool open() = 0;
//            virtual bool open(bool readOnly) = 0;
//            virtual bool close() = 0;
//            virtual std::string getSerializedData() = 0;
//            virtual const char* getSerializedBinaryData() = 0;
//            virtual bool setSerializedData(const std::string& data) = 0;
//            virtual bool setSerializedBinaryData(const char* data) = 0;
//            virtual bool resourceExists() = 0;
//            virtual bool createResource(const std::string id) = 0;
//            virtual bool createDirectory(const std::string name) = 0;

        };
    }
}
#endif	/* _Z3D_VFS_ISOURCEABSTRACTIONLAYER_H */

